package com.bdqn.demo02;

/**
 * IntermediaryImpl
 *
 * @author LILIBO
 * @since 2022-09-27
 */
public class IntermediaryImpl implements Buyer {

    /**
     * 代理的目标对象（真实需要买房的人）
     */
    private Buyer target;

    /**
     * 通过构造函数传进来（服务的目标）
     *
     * @param target
     */
    public IntermediaryImpl(Buyer target) {
        this.target = target;
    }

    /**
     * 中介实现看房接口
     *
     * @return
     */
    @Override
    public String havealook() {
        // 代理对象所能实现的方法
        System.out.println("① 与房东沟通，拿到钥匙");
        System.out.println("② 进入小区，停车");
        String result = target.havealook(); // 调用真实买房者的看房方法
        // 代理对象所能实现的方法
        System.out.println("④ 拟合同");
        return result;
    }

}
